package com.ruoyi.gaokao.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 考生报名信息对象 gk_candidate_registration
 * 
 * @author xiaosong
 * @date 2025-07-07
 */
public class GkCandidateRegistration extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idNumber;

    /** 盟市代码 */
    @Excel(name = "盟市代码")
    private Long cityCode;

    /** 旗县代码 */
    @Excel(name = "旗县代码")
    private String countyCode;

    /** 报名点代码 */
    @Excel(name = "报名点代码")
    private String registrationPointCode;

    /** 毕业类别ID */
    @Excel(name = "毕业类别ID")
    private String graduateTypeId;

    /** 毕业中学名称 */
    @Excel(name = "毕业中学名称")
    private String graduateSchoolName;

    /** 毕业中学班号 */
    @Excel(name = "毕业中学班号")
    private String graduateClass;

    /** 就读中学名称 */
    @Excel(name = "就读中学名称")
    private String studySchoolName;

    /** 就读中学班号 */
    @Excel(name = "就读中学班号")
    private String studyClass;

    /** 户籍登记机关 */
    @Excel(name = "户籍登记机关")
    private String registrationAuthority;

    /** 户口所在地代码 */
    @Excel(name = "户口所在地代码")
    private String registeredResidenceCode;

    /** 考生类型代码 */
    @Excel(name = "考生类型代码")
    private String candidateTypeCode;

    /** 户籍迁入(0-否,1-是) */
    @Excel(name = "户籍迁入(0-否,1-是)")
    private Long householdImmigration;

    /** 户籍迁入日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "户籍迁入日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date householdImmigrationDate;

    /** 随迁子女(0-否,1-是) */
    @Excel(name = "随迁子女(0-否,1-是)")
    private Long migrantChildren;

    /** 通知书邮寄地址 */
    @Excel(name = "通知书邮寄地址")
    private String mailingAddress;

    /** 邮政编码 */
    @Excel(name = "邮政编码")
    private String postalCode;

    /** 收件人姓名 */
    @Excel(name = "收件人姓名")
    private String recipientName;

    /** 收件人手机号 */
    @Excel(name = "收件人手机号")
    private String recipientPhone;

    /** 考试类型 */
    @Excel(name = "考试类型")
    private String examType;

    /** 报考类型 */
    @Excel(name = "报考类型")
    private String applyType;

    /** 外语口语测试(0-不参加; &gt;0表示参加的语种ID) */
    @Excel(name = "外语口语测试(0-不参加; &gt;0表示参加的语种ID)")
    private Long foreignLanguageTestId;

    /** 承诺报专科(0-否,1-是) */
    @Excel(name = "承诺报专科(0-否,1-是)")
    private Long promiseJuniorCollege;

    /** 国家专项(0-否,1-是) */
    @Excel(name = "国家专项(0-否,1-是)")
    private Long nationalSpecial;

    /** 高校专项(0-否,1-是) */
    @Excel(name = "高校专项(0-否,1-是)")
    private Long universitySpecial;

    /** 地方专项(0-否,1-是) */
    @Excel(name = "地方专项(0-否,1-是)")
    private Long localSpecial;

    /** 免费医学定向(0-否,1-是) */
    @Excel(name = "免费医学定向(0-否,1-是)")
    private Long freeMedicalOrientation;

    public void setCandidateTypeCode(String candidateTypeCode)
    {
        this.candidateTypeCode = candidateTypeCode;
    }
    public String getCandidateTypeCode(){return candidateTypeCode;}

    public void setIdNumber(String idNumber) 
    {
        this.idNumber = idNumber;
    }

    public String getIdNumber() 
    {
        return idNumber;
    }
    public void setCityCode(Long cityCode) 
    {
        this.cityCode = cityCode;
    }

    public Long getCityCode() 
    {
        return cityCode;
    }
    public void setCountyCode(String countyCode) 
    {
        this.countyCode = countyCode;
    }

    public String getCountyCode() 
    {
        return countyCode;
    }
    public void setRegistrationPointCode(String registrationPointCode) 
    {
        this.registrationPointCode = registrationPointCode;
    }

    public String getRegistrationPointCode() 
    {
        return registrationPointCode;
    }
    public void setGraduateTypeId(String graduateTypeId) 
    {
        this.graduateTypeId = graduateTypeId;
    }

    public String getGraduateTypeId() 
    {
        return graduateTypeId;
    }
    public void setGraduateSchoolName(String graduateSchoolName) 
    {
        this.graduateSchoolName = graduateSchoolName;
    }

    public String getGraduateSchoolName() 
    {
        return graduateSchoolName;
    }
    public void setGraduateClass(String graduateClass) 
    {
        this.graduateClass = graduateClass;
    }

    public String getGraduateClass() 
    {
        return graduateClass;
    }
    public void setStudySchoolName(String studySchoolName) 
    {
        this.studySchoolName = studySchoolName;
    }

    public String getStudySchoolName() 
    {
        return studySchoolName;
    }
    public void setStudyClass(String studyClass) 
    {
        this.studyClass = studyClass;
    }

    public String getStudyClass() 
    {
        return studyClass;
    }
    public void setRegistrationAuthority(String registrationAuthority) 
    {
        this.registrationAuthority = registrationAuthority;
    }

    public String getRegistrationAuthority() 
    {
        return registrationAuthority;
    }
    public void setRegisteredResidenceCode(String registeredResidenceCode) 
    {
        this.registeredResidenceCode = registeredResidenceCode;
    }

    public String getRegisteredResidenceCode() 
    {
        return registeredResidenceCode;
    }
    public void setHouseholdImmigration(Long householdImmigration) 
    {
        this.householdImmigration = householdImmigration;
    }

    public Long getHouseholdImmigration() 
    {
        return householdImmigration;
    }
    public void setHouseholdImmigrationDate(Date householdImmigrationDate) 
    {
        this.householdImmigrationDate = householdImmigrationDate;
    }

    public Date getHouseholdImmigrationDate() 
    {
        return householdImmigrationDate;
    }
    public void setMigrantChildren(Long migrantChildren) 
    {
        this.migrantChildren = migrantChildren;
    }

    public Long getMigrantChildren() 
    {
        return migrantChildren;
    }
    public void setMailingAddress(String mailingAddress) 
    {
        this.mailingAddress = mailingAddress;
    }

    public String getMailingAddress() 
    {
        return mailingAddress;
    }
    public void setPostalCode(String postalCode) 
    {
        this.postalCode = postalCode;
    }

    public String getPostalCode() 
    {
        return postalCode;
    }
    public void setRecipientName(String recipientName) 
    {
        this.recipientName = recipientName;
    }

    public String getRecipientName() 
    {
        return recipientName;
    }
    public void setRecipientPhone(String recipientPhone) 
    {
        this.recipientPhone = recipientPhone;
    }

    public String getRecipientPhone() 
    {
        return recipientPhone;
    }
    public void setExamType(String examType) 
    {
        this.examType = examType;
    }

    public String getExamType() 
    {
        return examType;
    }
    public void setApplyType(String applyType) 
    {
        this.applyType = applyType;
    }

    public String getApplyType() 
    {
        return applyType;
    }
    public void setForeignLanguageTestId(Long foreignLanguageTestId) 
    {
        this.foreignLanguageTestId = foreignLanguageTestId;
    }

    public Long getForeignLanguageTestId() 
    {
        return foreignLanguageTestId;
    }
    public void setPromiseJuniorCollege(Long promiseJuniorCollege) 
    {
        this.promiseJuniorCollege = promiseJuniorCollege;
    }

    public Long getPromiseJuniorCollege() 
    {
        return promiseJuniorCollege;
    }
    public void setNationalSpecial(Long nationalSpecial) 
    {
        this.nationalSpecial = nationalSpecial;
    }

    public Long getNationalSpecial() 
    {
        return nationalSpecial;
    }
    public void setUniversitySpecial(Long universitySpecial) 
    {
        this.universitySpecial = universitySpecial;
    }

    public Long getUniversitySpecial() 
    {
        return universitySpecial;
    }
    public void setLocalSpecial(Long localSpecial) 
    {
        this.localSpecial = localSpecial;
    }

    public Long getLocalSpecial() 
    {
        return localSpecial;
    }
    public void setFreeMedicalOrientation(Long freeMedicalOrientation) 
    {
        this.freeMedicalOrientation = freeMedicalOrientation;
    }

    public Long getFreeMedicalOrientation() 
    {
        return freeMedicalOrientation;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("idNumber", getIdNumber())
            .append("cityCode", getCityCode())
            .append("countyCode", getCountyCode())
            .append("registrationPointCode", getRegistrationPointCode())
            .append("graduateTypeId", getGraduateTypeId())
            .append("graduateSchoolName", getGraduateSchoolName())
            .append("graduateClass", getGraduateClass())
            .append("studySchoolName", getStudySchoolName())
            .append("studyClass", getStudyClass())
            .append("registrationAuthority", getRegistrationAuthority())
            .append("registeredResidenceCode", getRegisteredResidenceCode())
            .append("householdImmigration", getHouseholdImmigration())
            .append("householdImmigrationDate", getHouseholdImmigrationDate())
            .append("migrantChildren", getMigrantChildren())
            .append("mailingAddress", getMailingAddress())
            .append("postalCode", getPostalCode())
            .append("recipientName", getRecipientName())
            .append("recipientPhone", getRecipientPhone())
            .append("examType", getExamType())
            .append("applyType", getApplyType())
            .append("foreignLanguageTestId", getForeignLanguageTestId())
            .append("promiseJuniorCollege", getPromiseJuniorCollege())
            .append("nationalSpecial", getNationalSpecial())
            .append("universitySpecial", getUniversitySpecial())
            .append("localSpecial", getLocalSpecial())
            .append("freeMedicalOrientation", getFreeMedicalOrientation())
            .toString();
    }
}
